package com.example.weixinsystem.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.weixin.common.core.entity.SysRole;
import com.weixin.common.core.form.PageForm;
import com.weixin.common.core.form.RoleAddForm;
import com.weixin.common.core.vo.RoleListVo;

import java.util.Set;

/**
 * @author zhang
 */
public interface SysRoleService extends IService<SysRole> {
    /**
     * 添加角色
     *
     * @param addForm 新增参数
     */
    void addRole(RoleAddForm addForm);

    /**
     * 分页查询角色列表
     *
     * @param pageForm 分页参数
     * @param param    查询参数
     * @return 返回集合列表
     */
    IPage<RoleListVo> getRolePage(PageForm pageForm, RoleListVo param);

    /**
     * 获取用户拥有的角色
     *
     * @param userId 用户ID
     * @return
     */
    Set<String> getUserPossessRole(Integer userId);
}
